#!/usr/bin/env python2
# -*- coding: UTF-8 -*-
#
#       cherrytree
#
#       Copyright 2009-2013 Giuseppe Penone <giuspen@gmail.com>
#
#       This program is free software; you can redistribute it and/or modify
#       it under the terms of the GNU General Public License as published by
#       the Free Software Foundation; either version 2 of the License, or
#       (at your option) any later version.
#
#       This program is distributed in the hope that it will be useful,
#       but WITHOUT ANY WARRANTY; without even the implied warranty of
#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#       GNU General Public License for more details.
#
#       You should have received a copy of the GNU General Public License
#       along with this program; if not, write to the Free Software
#       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
#       MA 02110-1301, USA.

import os, sys, __builtin__

try:
    import argparse
    ARGPARSE_OK = True
except:
    ARGPARSE_OK = False

def f_main(args):
    if os.path.isfile('glade/cherrytree.glade'):
        SHARE_PATH = ''
        MODULES_PATH = 'modules'
    else:
        if hasattr(sys, 'frozen'):
            # windows, py2exe
            SHARE_PATH = os.path.dirname(sys.executable)
            MODULES_PATH = os.path.join(SHARE_PATH, 'modules')
        else:
            # linux
            SHARE_PATH = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'share')
            MODULES_PATH = os.path.join(SHARE_PATH, 'cherrytree', 'modules')
    __builtin__.SHARE_PATH = SHARE_PATH
    sys.path.insert(0, MODULES_PATH)
    import main
    main.main(args)

if ARGPARSE_OK:
    parser = argparse.ArgumentParser()
    parser.add_argument('filepath', nargs='?', help='Optional CherryTree Document to Open')
    parser.add_argument("-n", "--node", help="Node Name to Focus")
    args = parser.parse_args()
else:
    class CherryArgs:
        node = None
        filepath = None
    args = CherryArgs
    if len(sys.argv) > 1:
        if sys.argv[1] == "-h":
            print "cherrytree [filepath [-n nodename]]"
            exit(0)
        else: args.filepath = sys.argv[1]
        if len(sys.argv) > 3 and sys.argv[2] == "-n": args.node = sys.argv[3]
f_main(args)
